#ifndef _SEM_HPP_
#define _SEM_HPP_

#include <iostream>
#include <semaphore.h>

class Sem
{
private:
    sem_t sem;

public:
    Sem(int value) { sem_init(&sem, 0, value); }
    void p() { sem_wait(&sem); }
    void v() { sem_post(&sem); }
    ~Sem() { sem_destroy(&sem); }
};

#endif